What is Chromecast? what function does Chromecast have?
Chromecast is the new connection device that Google released on July 25, 2013. The device runs a simplified version of the chrome operating system, which can be plugged into the TV HDMI interface. In the same WiFi environment, users can push a YouTube video broadcast on a cell phone or tablet to the TV via
official support for Chromecast. In this way, developers only need to use the Google Cast SDK to integrate Chromecast into existing mobile or Web applications and publish it on the Google Cast developer console, this allows users to control the content displayed on large devices, such as televisions, through smartphones and tablets.
For the brand new Google Drive Android API, Google said that in addition
SOURCE Download Address: http://download.csdn.net/detail/liukang325/9489952
the ffmpeg version I used is ffmpeg-2.1.8.tar.bz2.The version is low I'm afraid some headers and APIs are not found.After the Linux decompression after the compilation, Linux under the compiler is very simple, I generated the dynamic library here:./configure–enable-sharedMakeYou can find each of the so dynamic library files.After moving the position, remember to manually link:
Ln-s libavcodec.so.55 libavcodec.so
ln-s lib
Import flash. Events. netstatusevent;Import flash. Media. video;Import flash.net. netconnection;Import flash.net. netstream;
Private var mync: netconnection;Private var client: object;Private var videostream: netstream;Private var video: video;Private var videourl: string;
Mync = new netconnection ();Mync. Connect (null );Client = new object ();Videostream = new netstream (mync );Video = new video ();
function to reverse the image, and the operation speed is still quite fast, without interfering with real-time playback;
The work in the previous stage is satisfactory. The work in the next stage is the RTP payload of H.264.Protocol.
Appendix:
H.264 playback shell code example -------------------------------------------------------------------------------------------------
// Decode264.cpp: defines the initialization routines for the DLL.
# Include "stdafx. H"# Include "decode264.h"
// Add the
Original:
Http://blog.chinaunix.net/uid-24203478-id-3035890.html
The version used is FFMPEG 0.6.3.
Use the compilation command:Gcc-O tutorial01 tutorial01.c-lavutil-lavformat-lavcodec-lswscale
The source program is as follows:
[CPP]
View plaincopy
# Include
# Include
# Include
# Include
# Define debug () fprintf (stderr, "% s # % I \ n" ,__ func __,__ line __)
Static struct swscontext * img_convert_ctx;
Void saveframe (avframe * pframe, int width, int height, int IFRAME)
{
, not a document conversion system. If you want to work with an existing PDF document, you can use another Nodejs project--scissors.5.log.ioLog.io is a real-time log monitoring project based on Nodejs development, accessed in a browser. It is important to note that Log.io only monitors log changes and does not store logs, but this does not matter, just know which machine the logs are stored on.Log.io uses the Socket.io library to send activity reports, and as with other monitoring tools, Log.io
existing PDF document, you can use another Nodejs project--scissors.5.Log.ioLog.io is a real-time log monitoring project based on Nodejs development, accessed in a browser. It is important to note that Log.io only monitors log changes and does not store logs, but this does not matter, just know which machine the logs are stored on.Log.io uses the Socket.io library to send activity reports, and as with other monitoring tools, Log.io also uses the server-client mode. Log.io is made up of two part
Step by step learning, a little progress every day
FFmpeg + x264 + QT Decoding code H264
Decoding: H264 encoded format of the MP4 file decoded after saving RGB to PPM format
Encoding: Encode the decoded RGB format to H264
Code:
Decoding section:
. Pro
TEMPLATE = AppCONFIG + = ConsoleCONFIG-= qt
SOURCES + = Main.cppIncludepath + =-i/usr/local/include/LIBS + =-l/usr/local/lib-lavformat-lavcodec-lavutil-lswscale \-lpostproc-lavfilter-lswresample-lavdevice-lx264-lm-lz-lpthread
Main.cpp
#include
Codec_type_video, described as follows:int i;Avcodeccontext *pcodecctx;Find the first video streamVideostream=-1;for (i=0; iif (Pformatctx->streams[i]->codec->codec_type==codec_type_video) {Videostream=i;Break}if (videostream==-1)return-1; Didn ' t find a video streamGet A pointer to the codec context for Thevideo streampcodecctx=pformatctx->streams[videostream]
) Handle_error (); // stream information cannot be foundThis step fills up the streamams field of avformatcontext with valid information. As a debugable diagnosis, we will output all this information to the standard error output, but you do not use this in an application product:Dump_format (pformatctx, 0, filename, false );
As mentioned in the introduction, we only process video streams, not audio streams. To make it easier to understand, we simply use the first video stream we found:Int I,
the stereo.
The method for playing a sound in SDL is as follows: You first set the sound option: sampling rate (expressed by freq In the SDL struct), number of sound channels, and other parameters, then we set a callback function and some user data userdata. When you start playing audio, SDL constantly calls this callback function and requires it to buffer the sound with a specified number of bytes. After we put this information in the sdl_audiospec struct, we call the sdl_openaudio () function
, superficial issue.To the depth, and then from the depth to the shallow may be an interesting process. Let's start with this story..
3. Sample CodeIn For the sake of convenience, I posted the following code:# Include # Include
# Include
Void saveframe (avframe * pframe, int width, int height, int IFRAME ){File * pfile;Char szfilename [32];Int y;// Open FileSprintf (szfilename, "frame % d. ppm", IFRAME );Pfile = fopen (szfilename, "WB ");If (pfile = NULL)Return;// Write HeaderFprintf (pfile, "
(y = 0; y Fwrite (pframe-> data [0] + y * pframe-> linesize [0], 1, width * 3, pfile );
// Close fileFclose (pfile );}
Int main (INT argc, char * argv []) {Avformatcontext * pformatctx;Int I, videostream;Avcodeccontext * pcodecctx;Avcodec * pcodec;Avframe * pframe;Avframe * pframergb;Avpacket packet;Int framefinished;Int numbytes;Uint8_t * buffer;
If (argc Printf ("Please provide a movie file/N ");Return-1;}// Register all formats and codecs#########
;
// Find the first video stream
Videostream =-1;
For (I = 0; I
If (pformatctx-> streams [I]-> codec-> codec_type = codec_type_video ){
Videostream = I;
Break;
}
If (videostream =-1)
Return-1; // didn't find a video stream
// Get a pointer to the codec context for the video stream
Pcodecctx = pformatctx-> streams [
web site is a new design.WHATSAPP rivals, but not Google hangoutsArsTechnica previously said that Google's product strategy is actually "every thing has two copies", that is, for the same market, the same problem, through different paths to create different products.In addition to Google Hangouts, according to The Economist, Google is developing new IM tools to try to compete with WHATSAPP. This IM will be first launched in India and free of charge.Chromecast 2 will feature new hardware and sup
registered demuxer from first_iformat to call the corresponding probe functionAv_open_input_stream () calls the read_header function of the specified demuxer to obtain information about the related stream. IC-> iformat-> read_header
C. Extract stream information from the file: av_find_stream_info () fills up the streaming field of avformatcontext with valid information. For audio/video, each packet contains a complete or multiple Composite Frames. Read packet from the file and decode the corres
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.